During the course of designing an integrated circuit (“IC”), various analyses and optimization steps may be performed by IC designers to insure the designed IC meets the pre-determined specification and delivers the desired performance. These analysis steps are typically performed by various Electronic Design Automation (“EDA”) tools, and may include parasitic resistance and capacitance extraction, circuit delay calculation, timing analysis, cross-coupling and signal integrity analysis, resistive voltage drop calculation, and power dissipation analysis. A designed IC is checked against a plurality of pre-determined criteria of the mentioned analyses. An optimization step typically follows when the designed IC fails one or more of the pre-determined criteria. A designed IC typically needs one or more analysis-optimization cycles before it meets all the pre-determined criteria and goes into production phase. In order to perform the desired analyses, a resistance-capacitance (“RC”) technology file is first prepared and supplied to the various EDA tools.
FIG. 1 shows a system diagram of a known RC technology file generation process. Interconnect Technology File 100 is usually first prepared by a technology vendor (also generally known as a technology foundry or an IC foundry), where a designed IC is actually manufactured. An interconnect technology file typically includes fabrication process parameters of the various conductor layers in an IC, such as the minimum spacing and minimum width of the conductors as specified in the design rules for the conductor layers, the thickness of the conductor layers, the heights of the conductor layers above the semiconductor substrate, the resistivities of the conductor layers, the interlayer planer dielectric constant and its thickness, the name of the top conductor layer of a via, the bottom conductor layer of the via, the contact resistance of the via, the name of the wells, and so on.
In addition, a model file 110 may also be prepared. Typically, a SPICE model, a circuit level semiconductor device description program well known in the art, is used to model the various semiconductor circuits and interconnects in an IC, including wires coupling one circuit with another. A SPICE model file may provide desired information, such as dimensions of devices, width and thickness of diffusion layers in the substrate, and preferred wire models, such as distributed RC model, lumped resistance-inductance-capacitance (RLC) model, and distribute RLC model for calculating coupling effects between adjacent wires with desired precision.
Information from interconnect technology file 100 and SPICE model 110 is subsequently read in field solver 120. Field solver 120 is typically a specialized software program that solves Maxwell's equations. Using the information from interconnect technology file 100 and SPICE model 110, field solver 120 can automatically identify thousands or even tens of thousands of primitives of conductive features having various surrounding conditions (also usually referred to as environments), and then calculate the capacitances of all the primitives. Field solver 120 may launch different field solving approaches, 2-D (two-dimensional) or 3-D (three-dimensional) depending on the desired accuracy, to calculate the capacitances of all the primitives. This process is also generally known as “extracting” capacitances from the primitives.
The outcome of field solver 120 is RC technology file 130 (also known as RC tech file 130), wherein a capacitance table is typically presented. The capacitance table comprises capacitances “extracted” from the various primitives. It represents the capacitance characteristics of a given technology. The validity and accuracy of RC tech file 130 is then verified by the technology foundry through a quality assurance (“QA”) process. RC tech file 130 is subsequently provided to the various EDA IC design tools of IC products 140, 142, and 144. Vertical dashed line 138 in FIG. 1 indicates the interface boundary between a technology foundry and IC designers. In extracting the capacitance from the circuit layout of a designed IC product, such as IC product 140, the circuit layout is first divided into small pieces wherein each small piece contains a recognized primitive polygon pattern in RC tech file 130. The extraction EDA tool, then, extracts parasitic capacitance of IC product 140 by reading a pre-calculated capacitance value of such a primitive polygon pattern stored in the capacitance table of RC tech file 130. The full-chip parasitic value of a designed IC is usually obtained by Boolean operations on the primitive geometric patterns.
FIG. 2 illustrates the creation of RC tech files for a given technology generation by a known process. Four groups of RC tech files 55, 65, 75, and 85 are separately created. Each group typically includes RC tech files tailored to provide optimal circuit performance on designed ICs used in a specific application field (also known as a technology node). As an example, RC tech files 55 are usually most suitable for designing ICs for lower power applications. RC tech files 65 are of the tailored for designing ICs for general purpose applications. RC tech files 75 are generally tailored for designing ICs where high circuit switching speed is desirable, and RC tech files 85 are most suitable for designing mixed signal and RF (radio-frequency) ICs.
For each technology node, a plurality of RC tech files is typically prepared, each enabling designing ICs fabricated by a pre-determined process flow. For instance, RC tech files 55 may comprise a first RC tech file that includes five interconnect layers, separated by inter-layer insulating material having a first dielectric constant. RC tech files 55 may also comprise a second RC tech file, which is more suitable for designing ICs having nine interconnect layers. Furthermore, multiple RC tech files characterizing the processing variation of a pre-determined process flow are usually generated to exam the collective effects of processing variation on the electrical characteristics of a designed IC. These RC tech files are known for covering different process corners of a process flow. In the example shown in FIG. 2, each process flow requires five RC tech files, covering five process corners. A first RC tech file may, for example, cover the worst process corner of fabricating NMOS transistor in an IC, the worst process corner of fabricating PMOS transistors in the IC, and the nominal process condition of fabricating wires in the IC (generally known as a worst-worst-nominal process corner). As an example of the impacts of the process variation on the circuit performance, a worst process corner of fabricating wires results in wires having a width and thickness narrower and thinner than the pre-determined specification, thus leading to larger-than-expected resistance and smaller-than-expected capacitance. Likewise, a best process corner of fabricating wires results in wires having width and thickness wider and thicker than the pre-determined specification, thus leading to smaller-than-expected resistance and larger-than-expected capacitance. With a similar token, a second RC tech file may cover a worst-best-best process corner. Typically, hundreds of RC tech files are needed for a given technology generation in order to enable designing ICs that are used in different application fields, fabricated through different process flows, and tested against different process corners. The number of the required RC tech files increases significantly for advanced technology generations.
Generating a single RC tech file involves reading a corresponding interconnect technology file 100 into field solver 120, and executing highly-complex computational programs. The process of creating capacitance table involves calculating the capacitance for the thousands or even tens of thousands of primitives having different surrounding environments. Such a process is extremely CPU-intensive, and may take from many hours to a few days to finish, depending on the computational resources and the desired accuracy. This situation has posed tremendous challenges for supporting IC design projects in advanced processing technology, where hundreds or even thousands of RC tech files are needed in a limited period of time.